///******************** NG.Respate(C)  **********************************
//* 产品名称: Respate 科技
//* 文件名称: signal.c
//* 程序作者: 雷帕特公司(南宫子萍)
//* 程序版本: V1.1														   
//* 编制日期: 2019/1/29
//* 功能描述: 系统日志
//* QQ:	2085827949
//**********************************************************************/

// #include "flight.h"
#define _XOPEN_SOURCE       /* See feature_test_macros(7) */

#include "stdio.h"
#include "stdlib.h"
#include "lap_lib.h"
#include "laperro.h"


#include <stdio.h>
#include <unistd.h>

 // printf/fputc等 --> stdio缓冲区 --> I/O系统调用 /write等 --> 内核高速缓存 --> 磁盘

// 越过stdio缓冲区 到 内核高速缓冲区
// void setbuf(FILE *stream, char *buf);
// void setbuffer(FILE *stream, char *buf, size_t size);
// void setlinebuf(FILE *stream);
// void setbuf(FILE *stream, char *buf);
// void setbuffer(FILE *stream, char *buf, size_t size);
// void setlinebuf(FILE *stream);
// int setvbuf(FILE *stream, char *buf, int mode, size_t size);


// 验证 stdio缓冲区与内核缓冲区的存在
static void Lap_exist(void)
{
  char buff[]="我后写，先出现\r\n";

  printf("我先写，后出现");
  write(STDOUT_FILENO,buff,sizeof(buff));

  // 验证 fflush函数 可以将stdio缓冲区刷新到 内核高速缓冲区
  sleep(2);
  fflush(stdout);
  sleep(2);

}

#if 0
int main(void)
{
  LAP_ErrOutSet(NULL);  // 错误输出 初始化

  Lap_exist();
  return 0;
}
#endif